package ru.compft.web.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * User: VVasiliev
 * Date: 14.06.12
 * Time: 13:43
 * Контроллер для управления доступными ролями системы
 */
@Controller
public class CachesController implements Serializable {
    private static final long serialVersionUID = -8618900123453327315L;

    private static final Logger logger = LoggerFactory.getLogger(CachesController.class);

    private Map<String, Boolean> selectedCacheNames = new HashMap<String, Boolean>();

    public Map<String, Boolean> getSelectedCacheNames() {
        return selectedCacheNames;
    }

    /**
     * Очищаем выбранные кеши
     */
//    public void clearSomeCaches() {
//        if (logger.isDebugEnabled()) {
//            logger.debug("Clear caches table...");
//        }
//
//        System.out.println("CLEAR CACHE ACTION = ");
//
//        // получаем сервис работы с кешем
//        final CacheService cacheService = (CacheService) FacesUtils.getSpringBean(WebConst.CACHE_SERVICE);
//
//        if (!CollectionUtils.isEmpty(selectedCacheNames)) {
//
//            final List<String> cacheCodeListForClear = new ArrayList<String>();
//            for (Map.Entry<String, Boolean> entry : selectedCacheNames.entrySet()) {
//                if (entry.getValue()) {
//                    cacheCodeListForClear.add(entry.getKey());
//                }
//            }
//            if (!CollectionUtils.isEmpty(cacheCodeListForClear)) {
//                cacheService.clearSomeCaches(cacheCodeListForClear);
//
//                // todo сделать через файл messages
//                FacesUtils.addInfoMessage(null, "Записи кешей " + cacheCodeListForClear + " очищены");
//                if (logger.isDebugEnabled()) {
//                    logger.debug("Records " + cacheCodeListForClear + " was cleared");
//                }
//            } else {
//                // todo сделать через файл messages
//                FacesUtils.addWarnMessage(null, "Записи не выбраны");
//                if (logger.isInfoEnabled()) {
//                    logger.debug("Records not selected");
//                }
//            }
//        }
//        // очистим все выбранные чек-боксы
//        selectedCacheNames.clear();
//    }

}
